package com.maxlen.camunda.service.impl;

import com.maxlen.camunda.entity.AttributeEntity;
import com.maxlen.camunda.mapper.AttributeMapper;
import com.maxlen.camunda.service.AttributeService;
import com.tcloudit.common.core.web.domain.PageEntity;
import com.tcloudit.common.core.web.page.TableDataInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class AttributeServiceImpl implements AttributeService {

    @Autowired
    private AttributeMapper attributeMapper;

    /**
     * 获取数据模型列表
     * @param page 分页搜索参数
     * @return 结果
     */
    @Override
    public TableDataInfo getList(PageEntity page) {
        if(page.getPage() == null || page.getSize() == null){
            return null;
        }

        Integer count = attributeMapper.getCount(page);
        List<AttributeEntity> attributeEntityList = attributeMapper.getList(page);
        return new TableDataInfo(attributeEntityList, count);
    }

    /**
     * 获取数据模型详情
     * @param id id
     * @return 结果
     */
    @Override
    public AttributeEntity info(String id) {
        return attributeMapper.info(id);
    }

    /**
     * 新增数据模型
     * @param attribute 实体类
     * @return 结果
     */
    @Override
    public int add(AttributeEntity attribute) {
        return attributeMapper.add(attribute);
    }

    /**
     * 修改数据模型
     * @param attribute 实体类
     * @return 结果
     */
    @Override
    public int edit(AttributeEntity attribute) {
        return attributeMapper.edit(attribute);
    }

    /**
     * 删除数据模型
     * @param ids 字段id集合
     * @return 结果
     */
    @Override
    public int remove(String[] ids) {
        return attributeMapper.remove(ids);
    }

    /**
     * 根据字段名称获取记录数
     * @param attribute 字段名称与ID
     * @return 结果
     */
    @Override
    public int getCountByName(AttributeEntity attribute) {
        return attributeMapper.getCountByName(attribute);
    }
}
